package org.brisling.base.repository;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.query.Param;


/**
 * 
 * 基础数据仓库接口，所有数据仓库必须继承该接口
 * @author : jackson wang
 * @Date   : 2015年6月8日 下午11:02:15
 * @version: 1.0
 * @param <T> 业务数据仓库泛型实现类
 * @param <ID>业务数据仓库编码
 */

@NoRepositoryBean

public interface BaseWorkflowRepository<T, ID extends Serializable> extends BaseRepository<T, ID> {
		
	T findByFlowInstId(String flowInstId);
	
	@Query("select u from #{#entityName} u where u.flowInstId in(:ids)")
	List<T> findByFlowInstIds(@Param("ids")Set<String> ids);
	
//	@Query("select u from #{#entityName} u where u.flowState ='1'")
//	List<T> findRuningListDomain();
//	
//	@Query("select u from #{#entityName} u where u.flowState ='0'")
//	List<T> findHistoryListDomain();
}
